package com.chapter15.generic_.custmgeneric;

/**
 * @author 宋鑫宇
 * @version 1.0
 */
public class CustomGeneric_ {
    public static void main(String[] args) {

    }
}
/*
   List<?> ， 表示可以接收任意类型
 * 泛型通配符List<? extends AA> , 表示可以接收AA类或AA类的子类
 * List<? super AA> ， 表示可以接收AA或AA的父类
 * */
//1. A后面的泛型，所以把A称为自定义泛型类
//2. T,R,M 是泛型的标识符，一般是单个大写字母
//3. 泛型标识符可以有多个
//4. 普通成员可以使用泛型（属性、方法）
//5. 使用泛型的数组，不能初始化
//6. 静态成员中不能使用泛型，因为静态是和类相关的，在类加载时，对象还没有创建
class A<E,T,M>{
    String name;
    E e;
    T t;
    M m;
    //因为数组在new时 不能确定T的类型，就无法在内存开空间
//    T[] ts = new T[2];
    T[] ts;


    public A(String name, E e, T t, M m) {//构造器使用泛型
        this.name = name;
        this.e = e;
        this.t = t;
        this.m = m;
    }
}